package com.tfjybj.itoo.teach.template;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


/**
 * ScreenClassStu
 *
 * @author 杨江涛
 * @version 2.0.0
 * @since 2.0.0 2018-11-22 16:26:53
 */
@ApiModel(value = "ScreenClassStu:筛选字段")
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
public class ScreenClassStu implements Serializable {

    /**
     * id
     */
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * key
     */
    @ApiModelProperty(value = "主键")
    private String key;
    /**
     * 行政班名称
     */
    @ApiModelProperty(value = "名称")
    private String title;

    /**
     * 行政班名称
     */
    @ApiModelProperty(value = "名称")
    private String stuName;
    /**
     * 是否为叶子
     */
    @ApiModelProperty(value = "是否为叶子")
    private boolean isLeaf;

    /**
     * 学生数
     */
    @ApiModelProperty(value = "学生数")
    private Integer countStu;

    /**
     * 学号
     */
    @ApiModelProperty(value = "学号")
    private String stuCode;

    /**
     * 专业id
     */
    @ApiModelProperty(value = "专业id")
    private String professionId;

    /**
     * 学院id
     */
    @ApiModelProperty(value = "学院id")
    private String academyId;

    /**
     * 班级id
     */
    @ApiModelProperty(value = "班级id")
    private String classesId;

    /**
     * 班级名称
     */
    @ApiModelProperty(value = "班级名称")
    private String className;

    /**
     * 是否选中
     */
    private boolean checked;

    public boolean getChecked() {
        return checked;
    }

    public void setChecked(boolean checked) {
        this.checked = checked;
    }

    /**
     * children
     * 学生model
     */
    @ApiModelProperty(value = "children")
    List<ScreenClassStu> children = new ArrayList<>();

    public boolean getIsLeaf() {
        return isLeaf;
    }

    public void setIsLeaf(boolean leaf) {
        isLeaf = leaf;
    }

    /**
     * 树形图是否可用,前端使用
     */
    @ApiModelProperty(value = "bool", required = true)
    private boolean disableCheckbox;

    public boolean getDisableCheckbox() {
        return disableCheckbox;
    }

    public void setDisableCheckbox(boolean disableCheckbox) {
        this.disableCheckbox = disableCheckbox;
    }
}
